#pragma once

#include "astra_camera.hpp"
#include "camera.hpp"
#include "depth_to_color.h"

class OrbbecCamera : public Camera {
 private:
  Astra *camera_;
  DepthToColor d2c_;
  bool mirror_;
  ObD2CType type_;

  void GrabPrepare();
  void GrabLoop();
  bool OpenPrepare(unsigned int index);

 public:
  OrbbecCamera();
  ~OrbbecCamera();

  int Close();
};
